﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
using CapaDatos;

namespace CapaNegocio
{
    public class Obrero:IBaseDeDatos
    {
        private int codigo;
        private Categoria categoria;
        private string apellido;
        private string nombre;
        private string direccion;
        private string localidad;
        private string telefono;
        private string cuit;


        public int Codigo
        {
            get { return codigo; }
            set { codigo = value; }
        }
       

        public string Apellido
        {
            get { return apellido; }
            set { apellido = value; }
        }
        
        public string Nombre
        {
            get { return nombre; }
            set { nombre = value; }
        }
        
        public string Direccion
        {
            get { return direccion; }
            set { direccion = value; }
        }
        
        public string Localidad
        {
            get { return localidad; }
            set { localidad = value; }
        }
        
        public string Telefono
        {
            get { return telefono; }
            set { telefono = value; }
        }
        
        public string Cuit
        {
            get { return cuit; }
            set { cuit = value; }
        }

        public String TextoAMostrar { 
         get {  return apellido+", "+nombre+" ("+categoria.Descripcion+")"; }
            
        }

        public static List<Obrero> buscarObreros()
        {
            ArrayList Obreros = ServidorDatos.buscarObreros();
            Obrero obrero;
            List<Obrero> lista = new List<Obrero>();
            foreach (ArrayList h in Obreros)
            {
                obrero = new Obrero();
                obrero.buildObject(h);
                lista.Add(obrero);
            }
            return lista;
        }

        public static Obrero buscarObrero(int pCod)
        {
            ArrayList e = ServidorDatos.buscarObrero(pCod);
            Obrero obrero = null;
            if (e != null)
            {
                obrero = new Obrero();
                obrero.buildObject((ArrayList)e[0]);
            }

            return obrero;
        }

        public void buildObject(ArrayList lista)
        {
            codigo = Convert.ToInt32(lista[0].ToString());
            categoria = Categoria.buscarCategoria(Convert.ToInt32(lista[1].ToString()));
            apellido=lista[2].ToString();
            nombre=lista[3].ToString();
            direccion=lista[4].ToString();
            localidad=lista[5].ToString();
            telefono=lista[6].ToString();
            cuit = lista[7].ToString();    
        }
    }
}
